package com.atguigu.gmall.list.client.feign;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.list.client.feign.fallback.ListFeignClientFallBack;
import com.atguigu.gmall.model.list.SearchParam;
import com.atguigu.gmall.model.list.SearchResponseVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author wk
 * @create 2021-09-03 20:40
 */
@Service
@FeignClient(value = "service-list", fallback = ListFeignClientFallBack.class)
public interface ListFeignClient {
    @PostMapping("/api/list/inner/incrHostScore/{skuId}/{score}")
    Result incrHostScore(@PathVariable Long skuId, @PathVariable Integer score);
    // 5.搜索
    // 使用get请求 请求参数拼接在请求路径URL后 但可能json字符串长度 url长度有限
    @PostMapping("/api/list/inner/search")
    // SearchParam参数 包含6部分 一二三级分类 品牌 关键词  排序  平台属性 分页
    // 返回值对象 品牌集合  平台属性集合 商品集合 分页相关
     SearchResponseVo search(@RequestBody SearchParam searchParam);
}
